Thema Datum  Von Nutzer Rating
Antwort
30.10.2015 15:18:30 Martin3
NotSolved
30.10.2015 16:22:22 Gast80898
NotSolved
30.10.2015 16:28:46 Gast73915
NotSolved
30.10.2015 16:31:04 Gast73915
NotSolved
31.10.2015 15:51:09 Martin3
NotSolved
Blau Bis zur Zahl 10 soll als 10% ab Zahl 11 aufwärts soll als € 11,00 usw.
01.11.2015 18:59:38 Gast19032
NotSolved
01.11.2015 19:00:46 Gast53395
NotSolved
02.11.2015 07:25:03 Martin3
NotSolved
02.11.2015 11:05:45 Gast1689
NotSolved
02.11.2015 11:57:03 Martin3
NotSolved

Ansicht des Beitrags:
Von:
Gast19032
Datum:
01.11.2015 18:59:38
Views:
573
Rating: Antwort:
  Ja
Thema:
Bis zur Zahl 10 soll als 10% ab Zahl 11 aufwärts soll als € 11,00 usw.

>> der code müsste erkennen das bis zur zahl 10 immer in % ausgeworfen werden soll und ab 11 immer in €.

Code anschauen und verstehen, bitte. Der entspr. Teil ist nochmal von mir hervorgehoben.

Option Explicit
 
Sub Bsp()
   
  Dim vntNum    As Variant
  Dim avntNum   As Variant
  Dim avntFmt   As Variant
  Dim i         As Long
   
  Do
    If Not IsEmpty(vntNum) Then
      Call MsgBox("Ungültige Eingabe." & vbNewLine & vbNewLine & _
                  "Bitte geben sie einen Wert im angegebenen Gültigkeitsbereich ein.", _
                  vbExclamation)
    End If
    vntNum = Application.InputBox("Bitte eine Zahl (1-10) eingeben.", Type:=1)
    If VarType(vntNum) = vbBoolean Then Exit Sub
  Loop Until 1 <= vntNum And vntNum <= 10
   
  ReDim avntNum(0 To 8) As Variant
  ReDim avntFmt(0 To 8) As Variant
   
  For i = 0 To UBound(avntNum)
    If vntNum + i <= 10 Then
      avntNum(i) = (vntNum + i) / 100
      avntFmt(i) = "#,##0 %"
    Else
      avntNum(i) = vntNum + i
      avntFmt(i) = "$ #,##0.00"
    End If
  Next
   
  'alles in eine Spalte schreiben (hier Spalte B, ab Zeile 3)
  With Range("B3").Resize(UBound(avntNum) + 1)
    .NumberFormat = WorksheetFunction.Transpose(avntFmt)
    .Value = WorksheetFunction.Transpose(avntNum)
  End With
   
'  'alles in eine Zeile schreiben (hier Zeile 3, ab Spalte B)
'  With Range("B3").Resize(, UBound(avntNum) + 1)
'    .NumberFormat = avntFmt
'    .Value = avntNum
'  End With
   
End Sub

Wenn das Ergebnis nicht so heraus komm wie erwartet, dann ist deine Beschreibung leider nicht exakt genug.

(Die Formatierung hab ich noch mal geändert, falls dir das entgangen sein sollte; der Teil mit avntFmt)

 

Gruß


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
30.10.2015 15:18:30 Martin3
NotSolved
30.10.2015 16:22:22 Gast80898
NotSolved
30.10.2015 16:28:46 Gast73915
NotSolved
30.10.2015 16:31:04 Gast73915
NotSolved
31.10.2015 15:51:09 Martin3
NotSolved
Blau Bis zur Zahl 10 soll als 10% ab Zahl 11 aufwärts soll als € 11,00 usw.
01.11.2015 18:59:38 Gast19032
NotSolved
01.11.2015 19:00:46 Gast53395
NotSolved
02.11.2015 07:25:03 Martin3
NotSolved
02.11.2015 11:05:45 Gast1689
NotSolved
02.11.2015 11:57:03 Martin3
NotSolved